# 购物：
#         1.用户的账户里有钱
#         2.用户可推一个空的购物车进商场
#         3.开始购物，将自己想要的商品添加购物车
#         4.打印购物小条
#
# 程序和数据流程梳理分析：
# 	购前：
# 		钱要有：money
# 		有足够商品：列表来存储list
# 		有购物车：列表list
#
# 	购中：
# 		是否有这个商品：
# 			有
# 				钱够不够：
# 					够：
# 						添加到购物车！
# 						钱减去商品价格！
# 						恭喜，购买成功！您的卡余额还剩xxx
# 					不够：
# 						穷鬼，钱不够！请到其他超市购买！
# 			没有：
# 				没有这个商品，别瞎弄！
# 	购后：
# 		输入Q，q: 退出：
# 		打印购物小条！
from operator import truediv, contains

#定义商品函数
class Product:
    def __init__(self, name, price):
        self.name = name
        self.price = price



#循环打印物品和价格
products = [
    Product("苹果", 5),
    Product("茅台", 200),
    Product("猪肉", 50),
    Product("沐浴露", 25),
    Product("冰红茶", 3),
    Product("利群", 25)
]




buy_account = 200
shopping_cart = list()                                         #空购物车
items = ["苹果","茅台","猪肉","沐浴露","冰红茶","利群"]             #商品列表

for product in products:
    print(f"商品：{product.name}，价格：{product.price}元")      #输出超市物品清单及价格

print("欢迎购物，您的账户余额为：", buy_account)
print("输入“Q”或“q”退出购物系统")

while buy_account > 0:

    item = input("您想买什么？")
    if item == "Q" or item == "q" :
        break
    if bool(item in items) == True :
        match item:
            case "苹果" :
                if buy_account > 5 :
                    shopping_cart.append("苹果")
                    print("苹果添加到购物车\n 恭喜购买成功，您的卡余额还剩%d"%(buy_account-5))
                else:
                    print("余额不足，请重新选择")
                    continue
            case "茅台" :
                    if buy_account > 200:
                        shopping_cart.append("茅台")
                        print("茅台添加到购物车\n 恭喜购买成功，您的卡余额还剩%d"%(buy_account - 200))
                    else:
                        print("余额不足，请重新选择")
                        continue
            case "猪肉" :
                        if buy_account > 50:
                            shopping_cart.append("猪肉")
                            print("猪肉添加到购物车\n 恭喜购买成功，您的卡余额还剩%d"%(buy_account - 50))
                        else:
                            print("余额不足，请重新选择")
                            continue
            case "沐浴露" :
                        if buy_account > 25:
                            shopping_cart.append("沐浴露")
                            print("沐浴露添加到购物车\n 恭喜购买成功，您的卡余额还剩%d"%(buy_account - 25))
                        else:
                            print("余额不足，请重新选择")
                            continue
            case "冰红茶" :
                        if buy_account > 3:
                            shopping_cart.append("冰红茶")
                            print("冰红茶添加到购物车\n 恭喜购买成功，您的卡余额还剩%d"%(buy_account - 3))
                        else:
                            print("余额不足，请重新选择")
                            continue
            case "利群" :
                        if buy_account > 25:
                            shopping_cart.append("利群")
                            print("利群添加到购物车\n 恭喜购买成功，您的卡余额还剩%d"%(buy_account - 25))
                        else:
                            print("余额不足，请重新选择")
                            continue
    else :
        print("暂无此商品，请重新选择")
        continue

print("欢迎下次光临！")